A communication device for making communications such as optical communication and wireless communication generally reproduces data by demodulating a received signal. Specifically, such a communication device oversamples the received signal with a predetermined sampling frequency and, based on the obtained sample, estimates a peak position on the amplitude of the received signal. The communication device reproduces binary data indicating 0 or 1 according to the sign of the sample positioned in a cycle of a symbol length with the estimated peak position as a starting point.
In estimating a peak position on the amplitude of the received signal, the communication device may detect a zero-cross point having amplitude of zero and presume that the peak position is positioned a half symbol length ahead of the zero-cross point. In other words, a symbol has a waveform starting from a zero-cross point and reaching the next zero-cross point after passing through a plus peak or a minus peak. By first detecting a sample corresponding to a zero-cross point, it is thus presumable that another sample positioned a half symbol length ahead of the sample corresponds to the peak.
For example, when a received signal is oversampled with a sampling frequency in which a symbol corresponds to 16 samples, provided that the first sample denotes a zero-cross point, the ninth sample having eight samples behind can be regarded as a peak. In the following description, a sample number is assigned for each sample in a cyclic manner based on a symbol length, and a sample with a sample number x (x is integer) is referred to as xOS (oversample). For example, provided that a symbol corresponds to 16 samples, sample numbers 0 to 15 are allocated to respective samples in a cyclic manner. In this case, a sample with a sample number 0 is referred to as 0OS. Furthermore, a sample number equals to the remainder obtained by dividing the serial number of the sample by the number of samples corresponding to a symbol. For example, provided that a symbol corresponds to 16 samples, the third and the nineteenth samples from the head both fall on 3OS because these samples have a remainder of 3 when divided by 16.
When the communication device detects a zero-cross point, the device sets a detection object point serving as a reference point in detecting a zero-cross point. The detection object point has a comparatively large absolute value on the amplitude, and a point positioned a symbol length ahead of the detection object point has a reverse sign to that of the detection object point and has a comparatively large absolute value on the amplitude. With such a detection object point, it is possible to determine that a zero-cross point is present within the term of a symbol length from the detection object point. Because the detection object point has a comparatively large absolute value on the amplitude, the detection object point is considered to be positioned close to the peak position. A zero-cross point usually is present a half symbol length ahead of the detection object point. Examples in related art are described in Japanese Laid-open Patent Publication No. 2000-349745 and Japanese Laid-open Patent Publication No. 06-232931.
Environmental factors including a noise may decrease the accuracy in detecting a zero-cross point. If the accuracy in detecting a zero-cross point is decreased, a peak position detected based on the zero-cross point is accordingly inaccurately detected, which may cause errors on the reproduced data. In view of improving the accuracy in detecting a zero-cross point, it may be effective to detect a plurality of zero-cross points and define the average value of sample numbers assigned to the respective zero-cross points as a sample number of a final zero-cross point. In other words, considering effects of a noise and others, averaging processing is useful in accurately detecting a zero-cross point.
However, as described above, because a sample number is calculated with the remainder calculation, a plurality of actually detected zero-cross points are sometimes totally different from the final zero-cross point obtained by the averaging processing. For example, although 15OS in a symbol term and 0OS in the next symbol term are samples adjacent to each other, the average value between these samples is calculated as 7.5 (=(15+0)/2). The sample number obtained from the averaging processing thus indicates a sample positioned far from the samples having the original sample numbers. A plurality of actually detected zero-cross points thus do not problematically match a final zero-cross point obtained from the averaging processing.
Such a problem will now be described with some examples. FIGS. 11A and 11B are drawings that each illustrate examples of actually detected zero-cross points. In FIGS. 11A and 11B, based on the assumption that a symbol length corresponds to 16 samples, the abscissa represents a time indicated by sample numbers of 0 to 15 assigned in a cyclic manner whereas the ordinate represents the amplitude of a received signal.
FIG. 11A is a drawing that illustrates a zero-cross point 20 detected at a part of the received signal. In FIG. 11A, for example, 7OS is set as a detection object point 10, and the zero-cross point 20 is detected at a point positioned 9OS ahead of the detection object point 10. The remainder is 0 when 16 (=7+9) is divided by 16, and the zero-cross point 20 is thus defined as 0OS. FIG. 11B is a drawing that illustrates a zero-cross point 40 detected at another part of the received signal identical to that of FIG. 11A. In FIG. 11B, for example, 7OS is set as a detection object point 30, and the zero-cross point 40 is detected at a point positioned 8OS ahead of the detection object point 30. The remainder is 15 when 15 (=7+8) is divided by 16, and the zero-cross point 40 is thus defined as 15OS.
In this way, when two zero-cross points 20 and 40 are detected at different parts of an identical received signal, the average value of the respective sample numbers of the zero-cross points 20 and 40 is calculated to be 7.5 (=(0+15)/2). The final zero-cross point is thus defined as 7OS or 8OS. However, as clearly illustrated in FIGS. 11A and 11B, 7OS and 8OS are both positioned close to the peak position of the received signal and are quite far from the actually detected zero-cross points 20 and 40. These results indicate that an inaccurate final zero-cross point has been worked out by performing the average processing on the sample numbers obtained from the remainder calculation. Specifically, because of the remainder calculation used to detect the zero-cross points 20 and 40, the zero-cross points 20 and 40, which are close to each other on the symbol cycle basis, are calculated to be 0OS and 15OS, respectively, which are positioned far from each other.
In view of the above-described problem, it may be conceived of performing averaging processing on sample numbers of actually detected zero-cross points without performing the remainder calculation. However, even in the case of not performing the remainder calculation, a plurality of actually detected zero-cross points may mismatch the final zero-cross point obtained by performing the average processing. FIGS. 12A and 12B are drawings that each illustrate examples of actually detected zero-cross points. In FIGS. 12A and 12B, as illustrated in FIGS. 11A and 11B, the abscissa represents a time indicated by sample numbers of 0 to 15 assigned in a cyclic manner whereas the ordinate represents the amplitude of a received signal.
FIG. 12A is a drawing that illustrates a zero-cross point 60 detected at a part of the received signal. In FIG. 12A, for example, 15OS is set as a detection object point 50, and the zero-cross point 60 is detected at a point positioned 9OS ahead of the detection object point 50. The zero-cross point 60 is thus defined as 24 (=15+9) OS if the remainder calculation is not performed thereon. FIG. 12B is a drawing that illustrates a zero-cross point 80 detected at another part of the received signal identical to that of FIG. 12A. In FIG. 12B, for example, 0OS is set as a detection object point 70, and the zero-cross point 80 is detected at a point positioned 8OS ahead of the detection object point 70. The zero-cross point 80 is thus defined as 8 (=0+8) OS if the remainder calculation is not performed thereon.
In this way, when two zero-cross points 60 and 80 are detected at different parts of an identical received signal, the average value of the respective sample numbers of the zero-cross points 60 and 80 is calculated to be 16 (=(24+8)/2). The final zero-cross point is thus defined as 16OS, that is, 0OS. However, as clearly illustrated in each of FIGS. 12A and 12B, 0OS is close to the peak position of the received signal and is quite far from the actually detected zero-cross points 60 and 80. These results indicate that an inaccurate final zero-cross point has been worked out by performing the average processing on the sample numbers obtained without performing the remainder calculation. The detection object points 50 and 70, which are close to each other on the symbol cycle basis, are calculated, respectively, to be 15OS and 0OS, which are positioned far from each other. These results are caused because neither of the sample numbers of the zero-cross points 60 nor 80, which are based on the detection object points 50 and 70, respectively, has undergone the remainder calculation.
As described above, when a final zero-cross point less affected by a noise and the like is determined by detecting a plurality of zero-cross points and performing the average processing thereon, there is a problem in which an inaccurate zero-cross point may be determined.